home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 19 / CU Amiga Magazine's Super CD-ROM 19 (1998)(EMAP Images)(GB)[!][issue 1998-02].iso / CUCD / Online / RFCs / rfc / rfc2107.txt < prev    next >
Text File  |  1997-02-26  |  44KB  |  1,180 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          K. Hamzeh
  8. Request for Comments: 2107                         Ascend Communications
  9. Category: Informational                                    February 1997
  10.  
  11.  
  12.                 Ascend Tunnel Management Protocol - ATMP
  13.  
  14. Status of this Memo
  15.  
  16.    This memo provides information for the Internet community.  This memo
  17.    does not specify an Internet standard of any kind.  Distribution of
  18.    this memo is unlimited.
  19.  
  20. IESG Note:
  21.  
  22.    This note documents a private protocol for tunnel management.  This
  23.    protocol is NOT the product of an IETF working group nor is it a
  24.    standards track document. There is ongoing effort in an IETF working
  25.    group which could result in a standards track document which
  26.    specifies a protocol which provides similar functionality.
  27.  
  28. Abstract
  29.  
  30.    This document specifies a generic tunnel management protocol that
  31.    allows remote dial-in users to access their home network as if they
  32.    were directly attached to the home network.  The user's client
  33.    software uses an address contained in the home network address space
  34.    for the remote access.  Packets to and from the home network are
  35.    tunneled by the Network Access Server (NAS) to which the user
  36.    connects and a Home Agent (HA) on the user's home network.  This
  37.    allows for the support of access to Virtual Private Networks and also
  38.    allows for the use of protocols other than IP to be carried over the
  39.    tunnel.  An example of how the RADIUS (Remote Authentication Dial In
  40.    User Service) can be used to provide the necessary configuration
  41.    information to support this service is also provided.
  42.  
  43. 1. Introduction
  44.  
  45.    The Ascend Tunnel Management Protocol (ATMP) is a protocol currently
  46.    being used in Ascend Communication products to allow dial-in client
  47.    software to obtain virtual presence on a user's home network from
  48.    remote locations.  A user calls into a remote NAS but, instead of
  49.    using an address belonging to a network directly supported by the
  50.    NAS, the client software uses an address belonging to the user's
  51.    "Home Network".  This address can be either provided by the client
  52.    software or assigned from a pool of addresses from the Home Network
  53.    address space.  In either case, this address belongs to the Home
  54.    Network and therefore special routing considerations are required in
  55.  
  56.  
  57.  
  58. Hamzeh                       Informational                      [Page 1]
  59.  
  60. RFC 2107                          ATMP                     February 1997
  61.  
  62.  
  63.    order to route packets to and from these clients.  A tunnel between
  64.    the NAS and a special "Home Agent" (HA) located on the Home Network
  65.    is used to carry data to and from the client.
  66.  
  67.    ATMP currently allows for both IP and IPX protocols to be tunneled
  68.    between the NAS and the HA.  The protocol to be used, the HA to use,
  69.    and other user specific information is provided by some configuration
  70.    mechanism that is beyond the scope of this document.  Appendix A
  71.    illustrates how RADIUS [5] is used to convey this information to the
  72.    NAS.
  73.  
  74.    The determination of the Home Network address to be used can be
  75.    accomplished in different ways.  It could, for example, be configured
  76.    in the client and negotiated by IPCP (or IPXCP).  Alternatively, it
  77.    could be defined to be an address specific to the given user ID, or
  78.    it could be assigned from a pool of addresses provided by the Home
  79.    Network for the purpose of remote dial-in access.  Again, how this
  80.    address is assigned and how the NAS decides to invoke ATMP for a
  81.    specific call is beyond the scope of this document.
  82.  
  83. 1.1 Protocol Goals and Assumptions
  84.  
  85.    The ATMP protocol is implemented only by the NAS and HA.  No other
  86.    systems need to be aware of ATMP.  All other systems communicate in
  87.    the normal manner and are unaware that they may be communicating with
  88.    remote clients.  The clients themselves are unaware of ATMP.  It is
  89.    assumed that standard PPP [8] (or SLIP) clients are being used.
  90.  
  91.    Unlike the mobile-IP protocol [3], ATMP assumes that a single NAS
  92.    will provide the physical connection to a remote client for the
  93.    duration of the session.  The client will not switch between NASes
  94.    expecting to keep the same IP address and all associated sessions
  95.    active during these transitions.  A particular client can be
  96.    registered with a given HA only once at any given time.
  97.    Deregistration with a HA implies loss of all higher layer sessions
  98.    for that client.
  99.  
  100.    IP multicasting is currently not provided by ATMP.
  101.  
  102. 1.2 Terminology
  103.  
  104.    The terminology used in this document is similar to that used in
  105.    mobile-IP.  As pointed out in the previous section, however, ATMP
  106.    provides a subset of the functionality provided by mobile-IP and the
  107.    meanings of the various terms used herein have been modified
  108.    accordingly.
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Hamzeh                       Informational                      [Page 2]
  115.  
  116. RFC 2107                          ATMP                     February 1997
  117.  
  118.  
  119.       Connection Profile
  120.  
  121.          A table used to route packets other than by destination
  122.          address.  The Connection Profile is a named entity that
  123.          contains information indicating how packets addressed to it are
  124.          to be routed.  It may be used to route packets to unregistered
  125.          IP addresses and for routing protocols other than IP (e.g.,
  126.          IPX).
  127.  
  128.       Foreign Agent (FA)
  129.  
  130.          A routing entity that resides in a NAS on a remote network that
  131.          allows a mobile node to utilize a home network address.  It
  132.          tunnels datagrams to, and detunnels datagrams from, the home
  133.          agent for the given home network.
  134.  
  135.       Home Address
  136.  
  137.          An address that is assigned for an extended period of time to a
  138.          mobile node.  It may remain unchanged regardless of where the
  139.          MN is attached to the Internet.  Alternatively, it could be
  140.          assigned from a pool of addresses.  The management of this pool
  141.          is beyond the scope of this document.
  142.  
  143.       Home Agent (HA)
  144.  
  145.          A router on a mobile node's home network which tunnels
  146.          datagrams for delivery to, and detunnels datagrams from, a
  147.          mobile node when it is away from home.
  148.  
  149.       Home Network
  150.  
  151.          The address space of the network to which a user logically
  152.          belongs.  When a workstation is physically connected to a LAN,
  153.          the LAN address space is the user's home network.  ATMP
  154.          provides for a remote virtual connection to a LAN.
  155.  
  156.       Mobile Node (MN)
  157.  
  158.          A host that wishes to use a Home Network address while
  159.          physically connected by a point-to-point link (phone line,
  160.          ISDN, etc.) to a NAS that does not reside on the Home Network.
  161.          Also referred to as the client.
  162.  
  163.       Mobility Binding
  164.  
  165.          The association of a Home Address with a Foreign Agent IP
  166.          address and a Tunnel ID.
  167.  
  168.  
  169.  
  170. Hamzeh                       Informational                      [Page 3]
  171.  
  172. RFC 2107                          ATMP                     February 1997
  173.  
  174.  
  175.       Network Access Server (NAS)
  176.  
  177.          A device providing temporary, on-demand, network access to
  178.          users.  This access is point-to-point using phone or ISDN
  179.          lines.
  180.  
  181.       Tunnel
  182.  
  183.          The path followed by a datagram when it is encapsulated.  The
  184.          model is that, while it is encapsulated, a datagram is routed
  185.          to a knowledgeable decapsulation agent, which decapsulates the
  186.          datagram and then correctly delivers it to its ultimate
  187.          destination.  Each mobile node connecting to a home agent does
  188.          so over a unique tunnel, identified by a tunnel identifier
  189.          which is unique to a given FA-HA pair.  A tunnel can carry both
  190.          IP and IPX datagrams simultaneously.
  191.  
  192. 1.3 Protocol Overview
  193.  
  194.    A mobile node that wishes to use a home address while connected to a
  195.    remote NAS must register with the appropriate home agent.  The
  196.    foreign agent entity of the remote NAS performs this registration on
  197.    behalf of the MN.  Once registered, a tunnel is established between
  198.    the FA and HA to carry datagrams to and from the MN.  While a MN is
  199.    registered with an HA, the HA must intercept any packets destined for
  200.    the MN's home address and forward them via the tunnel to the FA. When
  201.    the FA detects that the MN has disconnected from the NAS, it issues a
  202.    deregister request to the HA.
  203.  
  204.    Because ATMP allows protocols other than IP to be carried on its
  205.    tunnels and also allows unregistered IP address to be used to provide
  206.    for access to enterprise networks, the HA doesn't necessarily route
  207.    datagrams received from the MN in the conventional manner.  The
  208.    registration request allows for a named "Connection Profile" to be
  209.    specified in the registration request.  This Connection Profile
  210.    contains configuration information that tells the HA where to send
  211.    packets that it receives from the MN.
  212.  
  213. 1.4 Specification Language
  214.  
  215.    In this document, several words are used to signify the requirements
  216.    of the specification.  These words are often capitalized.
  217.  
  218.       MUST               This word, or the adjective "required", means
  219.                          that the definition is an absolute requirement
  220.                          of the specification.
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Hamzeh                       Informational                      [Page 4]
  227.  
  228. RFC 2107                          ATMP                     February 1997
  229.  
  230.  
  231.       MUST NOT           This phrase means that the definition is an
  232.                          absolute prohibition of the specification.
  233.  
  234.       SHOULD             This word, or the adjective "recommended",
  235.                          means that, in some circumstances, valid
  236.                          reasons may exist to ignore this item, but
  237.                          the full implications must be understood and
  238.                          carefully weighed before choosing a different
  239.                          course.  Unexpected results may result
  240.                          otherwise.
  241.  
  242.       MAY                This word, or the adjective "optional", means
  243.                          that this item is one of an allowed set of
  244.                          alternatives.  An implementation which does
  245.                          not include this option MUST be prepared to
  246.                          interoperate with another implementation which
  247.                          does include the option.
  248.  
  249.       silently discard   The implementation discards the datagram
  250.                          without further processing, and without
  251.                          indicating an error to the sender.  The
  252.                          implementation SHOULD provide the capability of
  253.                          logging the error, including the contents of
  254.                          the discarded datagram, and SHOULD record the
  255.                          event in a statistics counter.
  256.  
  257. 2.0 Protocol Specification
  258.  
  259.    ATMP defines a set of request and reply messages sent with UDP [4].
  260.    The HA listens on UDP port 5150 [6]) for requests from FA's.  The UDP
  261.    checksum field MUST be computed and verified.  There are 7 different
  262.    ATMP message types represented by the following Type values:
  263.  
  264.       Message Type            Type code
  265.  
  266.  
  267.       Registration Request          1
  268.  
  269.       Challenge Request             2
  270.  
  271.       Challenge Reply               3
  272.  
  273.       Registration Reply            4
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Hamzeh                       Informational                      [Page 5]
  283.  
  284. RFC 2107                          ATMP                     February 1997
  285.  
  286.  
  287.       Deregister Request            5
  288.  
  289.       Deregister Reply              6
  290.  
  291.       Error Notification            7
  292.  
  293. 2.1 Registration Request
  294.  
  295.    The FA issues a Registration Request to request the HA to establish a
  296.    mobility binding for the specified MN home address.  The request is
  297.    issued to the HA by the FA upon detecting a MN that wishes to use a
  298.    home address supported by the HA receiving the request.
  299.  
  300.    IP fields
  301.  
  302.       Source Address           The IP address of the foreign agent
  303.                                interface from which the request is
  304.                                issued.
  305.  
  306.       Destination Address      The IP address of the home agent.
  307.  
  308.    UDP fields:
  309.  
  310.       Source Port              variable
  311.  
  312.       Destination Port         5150  (or port number configured in FA
  313.                                for given HA)
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Hamzeh                       Informational                      [Page 6]
  339.  
  340. RFC 2107                          ATMP                     February 1997
  341.  
  342.  
  343.    The UDP header is followed by the ATMP fields shown below:
  344.  
  345.        0                   1                   2                   3
  346.        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  347.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  348.       |    Version    |      Type     |         Identifier            |
  349.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  350.       |                         Foreign Agent                         |
  351.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  352.       |                          Mobile Node                          |
  353.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  354.       |                        Mobile Node Mask                       |
  355.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  356.       |                      Mobile Node IPX Net                      |
  357.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  358.       |Mobile Node IPX Station  . . .
  359.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  360.                                       |           reserved            |
  361.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  362.       |                        Home Network Name    . . .
  363.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  364.  
  365.       Version                  The ATMP protocol version.  MUST be 1.
  366.  
  367.       Type                     1 for Registration Request.
  368.  
  369.       Identifier               A 16 bit number used to match replies
  370.                                with requests.  A new value should be
  371.                                provided in each new request.
  372.                                Retransmissions of the same request
  373.                                should use the same identifier.
  374.  
  375.       Foreign Agent            The IP address of the foreign agent
  376.                                issuing the request (typically the same
  377.                                as the UDP source address).
  378.  
  379.       Mobile Node              The IP address to be used by the mobile
  380.                                node.  This is the mobile node's home
  381.                                address.  This field can be all 0's if
  382.                                IPX is to be tunneled to the mobile node.
  383.  
  384.       Mobile Node Mask         The network bit mask for the mobile node.
  385.                                Currently this value should be set to all
  386.                                1's.
  387.  
  388.       Mobile Node IPX Net      The Network portion of the mobile node's
  389.                                IPX address.  This value should be set to
  390.                                all 0's if only IP is to be tunneled.
  391.  
  392.  
  393.  
  394. Hamzeh                       Informational                      [Page 7]
  395.  
  396. RFC 2107                          ATMP                     February 1997
  397.  
  398.  
  399.       Mobile Node IPX Station  The 6 octet value used to represent the
  400.                                station portion of the mobile node's IPX
  401.                                address.  This value should be set to all
  402.                                0's if only IP is to be tunneled instead
  403.                                of IPX.
  404.  
  405.       Reserved                 This field is for future extensibility
  406.                                and MUST be set to all 0's.
  407.  
  408.       HN Name                  This is the name of the "Connection
  409.                                Profile" to be used by the home agent to
  410.                                forward all packets received from the
  411.                                mobile node.  This character string is
  412.                                terminated by a NUL character and can be
  413.                                up to 32 characters long, including the
  414.                                NUL terminator.
  415.  
  416. 2.2 Challenge Request
  417.  
  418.    The Home Agent issues a Challenge Request in response to the receipt
  419.    of a Registration Request from a Foreign Agent.  It is used by the
  420.    Home Agent, in conjunction with the Challenge Reply, to authenticate
  421.    the Foreign Agent.
  422.  
  423.    IP fields
  424.  
  425.       Source Address           The IP address of the Home Agent
  426.                                interface from which the request is
  427.                                issued.
  428.  
  429.       Destination Address      Copied form the Source Address of the
  430.                                Registration Request.
  431.  
  432.    UDP fields:
  433.  
  434.       Source Port              variable
  435.  
  436.       Destination Port         Copied from the Source Port of the
  437.                                Registration Request.
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Hamzeh                       Informational                      [Page 8]
  451.  
  452. RFC 2107                          ATMP                     February 1997
  453.  
  454.  
  455. The UDP header is followed by the ATMP fields shown below:
  456.  
  457.     0                   1                   2                   3
  458.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  459.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  460.    |    Version    |    Type       |         Identifier            |
  461.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  462.    |                                                               |
  463.    |                         Authenticator                         |
  464.    |                                                               |
  465.    |                                                               |
  466.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  467.    |         Result Code           |
  468.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  469.  
  470.  
  471.       Version                  The ATMP protocol version.  MUST be 1.
  472.  
  473.       Type                     2 for Challenge Request
  474.  
  475.       Identifier               A 16 bit number used to match replies
  476.                                with requests.  A new value should be
  477.                                provided in each new request.
  478.                                Retransmissions of the same request
  479.                                should use the same identifier.
  480.  
  481.       Authenticator            A series of 16 octet values randomly
  482.                                generated by the Home Agent.  The
  483.                                receiving Foreign Agent is to perform an
  484.                                MD5 [7] hash of these values along with a
  485.                                shared secret.  The resultant digest is
  486.                                returned in the Challenge Reply.  See
  487.                                Sec. 2.3 Retransmissions of the Challenge
  488.                                Request should use the same Authenticator
  489.                                value.
  490.  
  491.                                A value of all 0's in this field
  492.                                indicates an error occurred with the
  493.                                Registration Request.  The error code
  494.                                will be in the following field.
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Hamzeh                       Informational                      [Page 9]
  507.  
  508. RFC 2107                          ATMP                     February 1997
  509.  
  510.  
  511.       Result Code              If non-zero, this value indicates the
  512.                                error condition that occurred.  See Sec.
  513.                                2.8 for a list of Result Code values and
  514.                                their meanings.
  515.  
  516.                                A non-zero value in this field implies
  517.                                that the Authenticator field will be
  518.                                zero.
  519.  
  520. 2.3 Challenge Reply
  521.  
  522.    The Foreign Agent issues a Challenge Reply upon receipt of a valid
  523.    Challenge Request (one with a Result Code of 0) from the Home Agent.
  524.    The Foreign Agent uses the randomly generated Authenticator value
  525.    from the Challenge Request along with a shared secret to produce an
  526.    MD5 digest value which is returned to the Home Agent in the Challenge
  527.    Reply.
  528.  
  529.    IP fields
  530.  
  531.       Source Address           The IP address of the Foreign Agent
  532.                                interface from which the reply is issued.
  533.  
  534.       Destination Address      Copied from the Source Address of the
  535.                                Challenge Request.
  536.  
  537.    UDP fields:
  538.  
  539.       Source Port              variable
  540.  
  541.       Destination Port         Copied from the Source Port of the
  542.                                Challenge Request.
  543.  
  544.  
  545.    The UDP header is followed by the ATMP fields shown below:
  546.  
  547.        0                   1                   2                   3
  548.        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  549.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  550.       |    Version    |    Type       |         Identifier            |
  551.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  552.       |          Reply Length         |       Reply  . . .
  553.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Hamzeh                       Informational                     [Page 10]
  563.  
  564. RFC 2107                          ATMP                     February 1997
  565.  
  566.  
  567.       Version                  The ATMP protocol version.  MUST be 1.
  568.  
  569.       Type                     3 for Challenge Reply
  570.  
  571.       Identifier               Copied from the corresponding
  572.                                Deregistration Request.
  573.  
  574.       Reply Length             This field specifies the length of the
  575.                                challenge reply computation based on the
  576.                                received Authenticator and the shared
  577.                                secret.  For MD5 this length will always
  578.                                be 16.  This field is provided for future
  579.                                extensibility.
  580.  
  581.       Reply                    This is the computed challenge reply.  It
  582.                                is computed by performing an MD5 message
  583.                                digest computation over the Authenticator
  584.                                value received in the Challenge Request
  585.                                appended with the secret shared between
  586.                                the Foreign Agent and the Home Agent.
  587.                                The digests produced by MD5 are always 16
  588.                                octets long.
  589.  
  590. 2.4 Registration Reply
  591.  
  592.    A Registration Reply is issued by a Home Agent in reply to a
  593.    Challenge Reply received from a Foreign Agent.  The Registration
  594.    Reply indicates to the Foreign Agent whether the registration was
  595.    accepted by the Home Agent or not.  It also provides a "tunnel ID" to
  596.    uniquely identify the tunnel to be associated with this session.
  597.  
  598.    The Home Agent calculates the same MD5 hash on the Challenge Request
  599.    Authenticator field and the shared secret.  The resulting digest is
  600.    compared with the Reply value in the Challenge Reply and if it is
  601.    equal, authentication is successful.  Otherwise the registration is
  602.    not accepted and the Foreign Agent is informed by the Result Code of
  603.    the Registration Reply that registration failed due to an
  604.    authentication failure.
  605.  
  606.    IP fields
  607.  
  608.       Source Address           The IP address of the Home Agent
  609.                                interface from which the reply is issued.
  610.  
  611.       Destination Address      Copied from the Source Address of the
  612.                                Challenge Reply.
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Hamzeh                       Informational                     [Page 11]
  619.  
  620. RFC 2107                          ATMP                     February 1997
  621.  
  622.  
  623.    UDP fields:
  624.  
  625.       Source Port              variable
  626.  
  627.       Destination Port         Copied from the Source Port of the
  628.                                Challenge Reply.
  629.  
  630.  
  631.    The UDP header is followed by the ATMP fields shown below:
  632.  
  633.        0                   1                   2                   3
  634.        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  635.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  636.       |    Version    |    Type       |         Identifier            |
  637.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  638.       |          Result Code          |         Tunnel ID             |
  639.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  640.  
  641.  
  642.       Version                  The ATMP protocol version.  MUST be 1.
  643.  
  644.       Type                     4 for Registration Reply
  645.  
  646.       Identifier               Copied from the corresponding
  647.                                Registration Request.
  648.  
  649.       Result Code              Specifies the result of the registration
  650.                                and authentication attempt by the Foreign
  651.                                Agent.  Sec. 2.8 for a list of Result
  652.                                Code values and their meanings.
  653.  
  654.       Tunnel ID                This is the identifier used to indicate a
  655.                                given mobility binding between a given
  656.                                Mobile Node and Home Agent.  This
  657.                                identifier is used to distinguish
  658.                                multiple tunnels between a given Foreign
  659.                                Agent-Home Agent pair.  It is carried in
  660.                                the "key" field of the GRE [1] tunnel
  661.                                packets that ATMP uses as the tunnel
  662.                                protocol.  It is also used in
  663.                                Deregistration Requests and Error
  664.                                Notification messages to indicate the
  665.                                particular mobility binding to which they
  666.                                relate.
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Hamzeh                       Informational                     [Page 12]
  675.  
  676. RFC 2107                          ATMP                     February 1997
  677.  
  678.  
  679. 2.5 Deregistration Request
  680.  
  681.    The Deregistration Request is issued by the Foreign Agent to the Home
  682.    Agent to indicate that the specified mobility binding is to be ended.
  683.    This request may result from the Foreign Agent detecting that its
  684.    connection to the Mobile Node has terminated.  It can also be issued
  685.    in response to a detected error condition by the Foreign Agent or
  686.    receipt of an Error Notification message from the Home Agent.
  687.  
  688.    IP fields
  689.  
  690.       Source Address           The IP address of the Foreign Agent
  691.                                interface from which the request is
  692.                                issued.
  693.  
  694.       Destination Address      5150  (or port number configured in FA
  695.                                for given HA)
  696.  
  697.    UDP fields:
  698.  
  699.       Source Port              variable
  700.  
  701.       Destination Port         Copied from the Source Port of the
  702.                                Challenge Reply.
  703.  
  704.  
  705.    The UDP header is followed by the ATMP fields shown below:
  706.  
  707.        0                   1                   2                   3
  708.        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  709.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  710.       |    Version    |    Type       |         Identifier            |
  711.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  712.       |         Tunnel ID             |
  713.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  714.  
  715.  
  716.       Version                  The ATMP protocol version.  MUST be 1.
  717.  
  718.       Type                     5 for Deregistration Request
  719.  
  720.       Identifier               A 16 bit number used to match replies
  721.                                with requests.  A new value should be
  722.                                provided in each new request.
  723.                                Retransmissions of the same request
  724.                                should use the same identifier.
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Hamzeh                       Informational                     [Page 13]
  731.  
  732. RFC 2107                          ATMP                     February 1997
  733.  
  734.  
  735.       Tunnel ID                Tunnel identifier of the mobility binding
  736.                                to be terminated.
  737.  
  738. 2.6 Deregistration Reply
  739.  
  740.    The Deregistration Reply is issued by the Home Agent in response to a
  741.    Deregistration Request received from a Foreign Agent.  If the
  742.    Deregistration Request was valid, the Home Agent removes the
  743.    specified mobility binding from its tables and issues an affirmative
  744.    reply.  Otherwise the Home Agent issues a Deregistration Reply with a
  745.    Result Code indicating the reason for failure of the Deregistration
  746.    Request.
  747.  
  748.    IP fields
  749.  
  750.       Source Address           The IP address of the Home Agent
  751.                                interface from which the reply is issued.
  752.  
  753.       Destination Address      Copied from the Source Address of the
  754.                                received Deregistration Request.
  755.  
  756.    UDP fields:
  757.  
  758.       Source Port              variable
  759.  
  760.       Destination Port         Copied from the Source Port of the
  761.                                received Deregistration Request.
  762.  
  763.    The UDP header is followed by the ATMP fields shown below:
  764.  
  765.     0                   1                   2                   3
  766.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  767.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  768.    |    Version    |    Type       |         Identifier            |
  769.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  770.    |          Result Code          |         Tunnel ID             |
  771.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  772.  
  773.  
  774.       Version                  The ATMP protocol version.  MUST be 1.
  775.  
  776.       Type                     6 for Deregistration Reply
  777.  
  778.       Identifier               Copied from the corresponding
  779.                                Deregistration Request.
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Hamzeh                       Informational                     [Page 14]
  787.  
  788. RFC 2107                          ATMP                     February 1997
  789.  
  790.  
  791.       Result Code              Specifies the result of the registration
  792.                                and authentication attempt by the Foreign
  793.                                Agent.  Sec. 2.8 for a list of Result
  794.                                Code values and their meanings.
  795.  
  796.       Tunnel ID                Tunnel identifier of the mobility binding
  797.                                specified in the Deregistration Request.
  798.  
  799. 2.7 Error Notification
  800.  
  801.    This message is sent by either agent to inform the other agent that
  802.    an error condition has occurred.  It provides a last-ditch error
  803.    recovery mechanism that is used for conditions that cannot be
  804.    reported back to the sender by the normal request-reply mechanism,
  805.    such as the receipt of a spontaneously generated reply.
  806.  
  807.    IP fields
  808.  
  809.       Source Address           The IP address of the issuing agent
  810.                                interface from which this message is
  811.                                issued.
  812.  
  813.       Destination Address      The IP address of the Home Agent or
  814.                                Foreign Agent to which this message is to
  815.                                be issued.
  816.  
  817.    UDP fields:
  818.  
  819.       Source Port              variable
  820.  
  821.       Destination Port         If issued to a Home Agent, 5150 (or the
  822.                                port number configured for the given HA).
  823.                                If issued to a Foreign Agent, the source
  824.                                port number saved from the original
  825.                                Registration Request.
  826.  
  827.  
  828.    The UDP header is followed by the ATMP fields shown below:
  829.  
  830.        0                   1                   2                   3
  831.        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  832.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  833.       |    Version    |    Type       |         Identifier            |
  834.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  835.       |          Result Code          |         Tunnel ID             |
  836.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Hamzeh                       Informational                     [Page 15]
  843.  
  844. RFC 2107                          ATMP                     February 1997
  845.  
  846.  
  847.       Version                  The ATMP protocol version.  MUST be 1.
  848.  
  849.       Type                     7 for Error Notification
  850.  
  851.       Identifier               If issued in response to a received reply
  852.                                type message, this value should be copied
  853.                                from the identifier field of the reply.
  854.                                Otherwise the identifier should be the
  855.                                value that would be used for the next
  856.                                generated request.
  857.  
  858.       Result Code              This indicates the type of error
  859.                                detected.  The possible result codes are
  860.                                defined in Sec. 2.8.
  861.  
  862.       Tunnel ID                Tunnel identifier of the mobility binding
  863.                                to which this message pertains.  If the
  864.                                Error Notification is being sent in
  865.                                response to an unsolicited reply, the
  866.                                Tunnel ID is copied from the reply.
  867.  
  868. 2.8 Result Codes
  869.  
  870.    Error Code          Description
  871.  
  872.    0 NO_ERROR          Successful operation
  873.  
  874.    1 AUTH_FAILED       Authentication of the Foreign Agent failed.
  875.                        Registration denied.
  876.  
  877.    2 NOT_ENABLED       The Home Agent is not configured to run ATMP.
  878.  
  879.    3 TOO_MANY          Too many Mobile Node sessions.  Home Agent is out
  880.                        of resources.
  881.  
  882.    4 PARAMETER_ERROR   An invalid value was detected in an ATMP message.
  883.  
  884.    5 INVALID_TUNNEL_ID The Tunnel ID contained in a GRE packet is
  885.                        invalid or the corresponding mobility binding
  886.                        does not exist.  This usually occurs when either
  887.                        the MN or HA has reset.
  888.  
  889.    6 TIMEOUT           A response to an ATMP request was not received in
  890.                        time.
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Hamzeh                       Informational                     [Page 16]
  899.  
  900. RFC 2107                          ATMP                     February 1997
  901.  
  902.  
  903.    7 NET_UNREACHABLE   The Home Network for this mobility binding is not
  904.                        operational (the "Connection Profile" is "down"
  905.                        or is not defined).
  906.  
  907.    8 GENERAL_ERROR     General Error indication.
  908.  
  909. 2.9 Protocol Operation
  910.  
  911.    Upon detection of a Mobile Node requiring ATMP service, the NAS
  912.    invokes its ATMP Foreign Agent entity.The FA retrieves configuration
  913.    information for the user involved.This information is obtained in a
  914.    method particular to the NAS and is not specified by this document.
  915.    The information obtained MUST include the Home Agent address and the
  916.    shared secret for this HA.It also MAY include the Home Network Name,
  917.    if a Connection Profile is to be used for this session.
  918.  
  919.    The FA then sends a Registration Request to the HA informing it that
  920.    an MN wishes to register with it.  The FA then waits for the HA to
  921.    respond with a Challenge Request.  The FA retransmits the
  922.    Registration Request every 2 seconds until it receives the Challenge
  923.    Request.  If, after 10 retransmissions, no Challenge Request is
  924.    received, the FA will terminate the Registration Request, logs the
  925.    registration failure, and disconnects the MN.
  926.  
  927.    Upon receipt of the Challenge Request, the FA examines the Result
  928.    code.  If it indicates an error condition, the condition is logged
  929.    and the MN is disconnected.  If the result is zero, the FA generates
  930.    a Challenge Reply.  The Challenge Reply is generated by appending the
  931.    Authenticator obtained from the Challenge Request with the shared
  932.    secret (obtained from the configuration data) and then computing the
  933.    MD5 hash of this concatenated string (authenticator + secret).  The
  934.    16 octet hash is then returned in the Challenge Reply for validation
  935.    by the HA.
  936.  
  937.    Upon receipt of the Challenge Reply from the FA, the HA does the same
  938.    computation of the MD5 hash based on the Challenge Request
  939.    Authenticator and the shared-secret (which it too must be configured
  940.    with).  If this digest matches that provided in the Challenge Reply
  941.    by the FA then the authentication is successful and the registration
  942.    is accepted.  If the authentication fails, or resource limitations
  943.    prohibit the registration attempt, the HA returns a Registration
  944.    Reply with a non-zero result code to the FA.
  945.  
  946.    If the HA accepts the Challenge Reply from the FA, it assigns a
  947.    Tunnel ID to this session and returns this Tunnel ID in a
  948.    Registration Reply with a zero result code.  This Tunnel ID needs to
  949.    be unique for the FA-HA pair.  The Tunnel ID is used to multiplex and
  950.    demultiplex the packets sent between a given FA-HA pair.
  951.  
  952.  
  953.  
  954. Hamzeh                       Informational                     [Page 17]
  955.  
  956. RFC 2107                          ATMP                     February 1997
  957.  
  958.  
  959.    At the time the HA decides to accept a registration, it creates a
  960.    control block that associates the Tunnel ID with the appropriate
  961.    routing information.  If the Registration Request included a Home
  962.    Network Name, this name is saved in the table and used as the name of
  963.    the Connection Profile for this session.
  964.  
  965.    Upon receipt of the Registration Reply, the FA examines the result
  966.    code. If it is non-zero, the FA logs the registration failure and
  967.    disconnects the MN.  If it is zero, the FA saves the Tunnel ID in a
  968.    control block associated with the MN session.  The FA and HA are now
  969.    ready to exchange data packets for this MN session.
  970.  
  971.    On the FA side, all data received from the MN will be encapsulated
  972.    using GRE and sent to the HA with the assigned Tunnel ID included in
  973.    the GRE Key field.  When the HA receives a GRE packet it decapsulates
  974.    it and routes it using the routing information contained in the HA's
  975.    control block associated with this Tunnel ID.
  976.  
  977.    When the HA receives a packet destined for the MN's Home Address, it
  978.    MUST encapsulate it in a GRE packet and forward it to the appropriate
  979.    FA.  The Tunnel ID is included in the GRE Key field to allow the FA
  980.    to demultiplex the packet.
  981.  
  982.    When the FA receives a GRE packet, it will examine the Tunnel ID in
  983.    the GRE Key field to see if it matches the Tunnel ID assigned to any
  984.    of the MN's currently connected to the FA.  If so, the packet is
  985.    decapsulated and forwarded to the MN.  If the Tunnel ID doesn't match
  986.    any active MN's, an Error Notification message is issued to the HA
  987.    and the GRE packet is silently discarded.
  988.  
  989.    When the FA wishes to disconnect the MN from the HA, it issues a
  990.    Deregistration Request.  This request is issued every 2 seconds.  If
  991.    after 10 attempts a Deregistration Reply is not received from the HA,
  992.    an error condition is logged and the MN is disconnected.  Upon
  993.    receipt of a Deregistration Reply from the HA, the FA deallocates the
  994.    Tunnel ID and disconnects the MN.
  995.  
  996. 3.0 Security Considerations
  997.  
  998.    The Registration function of ATMP is protected by a
  999.    Challenge/Response mechanism similar to CHAP [2]. The Home Agent
  1000.    challenges each registration attempt by a Foreign Agent for
  1001.    authentication.This authentication requires the configuration of a
  1002.    shared secret for each HA/client pair.
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Hamzeh                       Informational                     [Page 18]
  1011.  
  1012. RFC 2107                          ATMP                     February 1997
  1013.  
  1014.  
  1015. 4.0 Author's Address
  1016.  
  1017.    Kory Hamzeh
  1018.    Ascend Communications
  1019.    1275 Harbor Bay Parkway
  1020.    Alameda, CA 94502
  1021.  
  1022.    EMail: kory@ascend.com
  1023.  
  1024. 5.0 References
  1025.  
  1026.    [1]  Hanks, S. Li, T., Farinacci, D., and Traina, P., "Generic
  1027.         Routing Encapsulation (GRE)", RFC 1701, October 1994.
  1028.  
  1029.    [2]  Lloyd, B., and W. Simpson, "PPP Authentication Protocols",
  1030.         RFC 1334, October 1992.
  1031.  
  1032.    [3]  Perkins, C., "IP Mobility Support", RFC 2002, October 1996.
  1033.  
  1034.    [4]  Postel, J., "User Data Protocol",  STD 6, RFC 768, August 1990.
  1035.  
  1036.    [5]  Rigney, C., Rubens, A., Simpson, W., and S. Willens, "Remote
  1037.         Authentication Dial In User Service (RADIUS)", RFC 2058,
  1038.         January 1997.
  1039.  
  1040.    [6]  Reynolds, J., and J. Postel, "Assigned Numbers", STD 2,
  1041.         RFC 1700, October, 1994.
  1042.  
  1043.    [7]  Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, April
  1044.         1992.
  1045.  
  1046.    [8]  Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD
  1047.         51, RFC 1661, July 1994.
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Hamzeh                       Informational                     [Page 19]
  1067.  
  1068. RFC 2107                          ATMP                     February 1997
  1069.  
  1070.  
  1071. Appendix A
  1072.  
  1073.    Additional RADIUS Attributes for ATMP
  1074.  
  1075.    This appendix indicates the RADIUS attributes that have been added by
  1076.    Ascend to support ATMP for IP.  Currently these are defined as non-
  1077.    vendor-specific attributes but have been included in [5].
  1078.  
  1079.        Attribute: "Ascend-Home-Agent-IP-Addr"
  1080.        Type:      IP-Address
  1081.        Value:     The IP address of the Home Agent
  1082.  
  1083.        Attribute: "Ascend-Home-Agent-Password"
  1084.        Type:      String
  1085.        Value:     Secret shared for this user with HA
  1086.  
  1087.        Attribute: "Ascend-Home-Network-Name"
  1088.        Type:      String
  1089.        Value:     Name of Connection Profile for this session
  1090.  
  1091.        Attribute: "Ascend-Home-Agent-UDP-Port"
  1092.        Type:      Integer
  1093.        Value:     The destination UDP port number for the specified HA
  1094.  
  1095. Appendix B
  1096.  
  1097.       IPX Operation
  1098.  
  1099.       ATMP specifies a mechanism which allows IPX clients to receive
  1100.       mobility services from a HA. Section 2 details the protocol used
  1101.       to register, deregister, and authenticate a tunnel used for IPX.
  1102.       Note that ATMP is based on IP datagrams for the management of
  1103.       tunnels and, thus, IPX tunneling with ATMP always requires an
  1104.       underlying IP network.
  1105.  
  1106.       Each IPX mobile client requires an IPX network number and node
  1107.       address pair.  Since IPX does not support a similar facility to
  1108.       IP's "host route," an enterprise-unique network number needs to be
  1109.       chosen for each home agent. This network number MUST be distinct
  1110.       from the IPX network number assigned to any of the home agent's
  1111.       LAN interfaces. Each mobile client tunneled to the home agent MUST
  1112.       use the same IPX network number.
  1113.  
  1114.       For example, consider a home agent which supports two mobile
  1115.       clients.  The home agent is on a LAN network with an IPX address
  1116.       of AA000001. The home agent's client network may be assigned
  1117.       AA000002. The two mobile clients may have addresses
  1118.       AA000002:0040F1000001 and AA000002:0040F1000002 respectively.
  1119.  
  1120.  
  1121.  
  1122. Hamzeh                       Informational                     [Page 20]
  1123.  
  1124. RFC 2107                          ATMP                     February 1997
  1125.  
  1126.  
  1127.       IPX node numbers need to be unique on a given network. A mechanism
  1128.       must exist to guarantee that for each home agent's network, a
  1129.       given mobile client's node address is unique. Several techniques
  1130.       may be employed to assure unique node addresses. The current
  1131.       implementation of ATMP described in this document relies on RADIUS
  1132.       to assign a node address at the foreign agent. The following
  1133.       RADIUS attributes are included for IPX operation in addition to
  1134.       the attributes described in Appendix A for IP operation:
  1135.  
  1136.        Attribute: "Framed-IPX-Network" (See [5] for details).
  1137.  
  1138.        Attribute: "Ascend-IPX-Node-Addr"
  1139.        Type:      String
  1140.        String:    The node address for the mobile client in 12 octet
  1141.                   ASCII representing the hexadecimal string. Both
  1142.                   lower and upper case characters are permissible.
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Hamzeh                       Informational                     [Page 21]
  1179.  
  1180.